# If you add a symbol to this file, make sure to add it with the correct
# version.  For example, if the LLVM main branch is LLVM 14.0.0, add new
# symbols with the version LLVM_14.
# On platforms where versions scripts are not used, this file will be used to
# generate a list of exports for libclang.so

LLVM_13 {
  global:
    clang_BlockCommandComment_getArgText;
    clang_BlockCommandComment_getCommandName;
    clang_BlockCommandComment_getNumArgs;
    clang_BlockCommandComment_getParagraph;
    clang_CXCursorSet_contains;
    clang_CXCursorSet_insert;
    clang_CXIndex_getGlobalOptions;
    clang_CXIndex_setGlobalOptions;
    clang_CXIndex_setInvocationEmissionPathOption;
    clang_CXRewriter_create;
    clang_CXRewriter_dispose;
    clang_CXRewriter_insertTextBefore;
    clang_CXRewriter_overwriteChangedFiles;
    clang_CXRewriter_removeText;
    clang_CXRewriter_replaceText;
    clang_CXRewriter_writeMainFileToStdOut;
    clang_CXXConstructor_isConvertingConstructor;
    clang_CXXConstructor_isCopyConstructor;
    clang_CXXConstructor_isDefaultConstructor;
    clang_CXXConstructor_isMoveConstructor;
    clang_CXXField_isMutable;
    clang_CXXMethod_isConst;
    clang_CXXMethod_isDefaulted;
    clang_CXXMethod_isPureVirtual;
    clang_CXXMethod_isStatic;
    clang_CXXMethod_isVirtual;
    clang_CXXRecord_isAbstract;
    clang_Comment_getChild;
    clang_Comment_getKind;
    clang_Comment_getNumChildren;
    clang_Comment_isWhitespace;
    clang_CompilationDatabase_dispose;
    clang_CompilationDatabase_fromDirectory;
    clang_CompilationDatabase_getAllCompileCommands;
    clang_CompilationDatabase_getCompileCommands;
    clang_CompileCommand_getArg;
    clang_CompileCommand_getDirectory;
    clang_CompileCommand_getFilename;
    clang_CompileCommand_getMappedSourceContent;
    clang_CompileCommand_getMappedSourcePath;
    clang_CompileCommand_getNumArgs;
    clang_CompileCommand_getNumMappedSources;
    clang_CompileCommands_dispose;
    clang_CompileCommands_getCommand;
    clang_CompileCommands_getSize;
    clang_Cursor_Evaluate;
    clang_Cursor_getArgument;
    clang_Cursor_getBriefCommentText;
    clang_Cursor_getCXXManglings;
    clang_Cursor_getCommentRange;
    clang_Cursor_getMangling;
    clang_Cursor_getModule;
    clang_Cursor_getNumArguments;
    clang_Cursor_getNumTemplateArguments;
    clang_Cursor_getObjCDeclQualifiers;
    clang_Cursor_getObjCManglings;
    clang_Cursor_getObjCPropertyAttributes;
    clang_Cursor_getObjCPropertyGetterName;
    clang_Cursor_getObjCPropertySetterName;
    clang_Cursor_getObjCSelectorIndex;
    clang_Cursor_getOffsetOfField;
    clang_Cursor_getParsedComment;
    clang_Cursor_getRawCommentText;
    clang_Cursor_getReceiverType;
    clang_Cursor_getSpellingNameRange;
    clang_Cursor_getStorageClass;
    clang_Cursor_getTemplateArgumentKind;
    clang_Cursor_getTemplateArgumentType;
    clang_Cursor_getTemplateArgumentUnsignedValue;
    clang_Cursor_getTemplateArgumentValue;
    clang_Cursor_getTranslationUnit;
    clang_Cursor_getVarDeclInitializer;
    clang_Cursor_hasAttrs;
    clang_Cursor_hasVarDeclExternalStorage;
    clang_Cursor_hasVarDeclGlobalStorage;
    clang_Cursor_isAnonymous;
    clang_Cursor_isAnonymousRecordDecl;
    clang_Cursor_isBitField;
    clang_Cursor_isDynamicCall;
    clang_Cursor_isExternalSymbol;
    clang_Cursor_isFunctionInlined;
    clang_Cursor_isInlineNamespace;
    clang_Cursor_isMacroBuiltin;
    clang_Cursor_isMacroFunctionLike;
    clang_Cursor_isNull;
    clang_Cursor_isObjCOptional;
    clang_Cursor_isVariadic;
    clang_EnumDecl_isScoped;
    clang_EvalResult_dispose;
    clang_EvalResult_getAsDouble;
    clang_EvalResult_getAsInt;
    clang_EvalResult_getAsLongLong;
    clang_EvalResult_getAsStr;
    clang_EvalResult_getAsUnsigned;
    clang_EvalResult_getKind;
    clang_EvalResult_isUnsignedInt;
    clang_File_isEqual;
    clang_File_tryGetRealPathName;
    clang_FullComment_getAsHTML;
    clang_FullComment_getAsXML;
    clang_HTMLStartTagComment_isSelfClosing;
    clang_HTMLStartTag_getAttrName;
    clang_HTMLStartTag_getAttrValue;
    clang_HTMLStartTag_getNumAttrs;
    clang_HTMLTagComment_getAsString;
    clang_HTMLTagComment_getTagName;
    clang_IndexAction_create;
    clang_IndexAction_dispose;
    clang_InlineCommandComment_getArgText;
    clang_InlineCommandComment_getCommandName;
    clang_InlineCommandComment_getNumArgs;
    clang_InlineCommandComment_getRenderKind;
    clang_InlineContentComment_hasTrailingNewline;
    clang_Location_isFromMainFile;
    clang_Location_isInSystemHeader;
    clang_ModuleMapDescriptor_create;
    clang_ModuleMapDescriptor_dispose;
    clang_ModuleMapDescriptor_setFrameworkModuleName;
    clang_ModuleMapDescriptor_setUmbrellaHeader;
    clang_ModuleMapDescriptor_writeToBuffer;
    clang_Module_getASTFile;
    clang_Module_getFullName;
    clang_Module_getName;
    clang_Module_getNumTopLevelHeaders;
    clang_Module_getParent;
    clang_Module_getTopLevelHeader;
    clang_Module_isSystem;
    clang_ParamCommandComment_getDirection;
    clang_ParamCommandComment_getParamIndex;
    clang_ParamCommandComment_getParamName;
    clang_ParamCommandComment_isDirectionExplicit;
    clang_ParamCommandComment_isParamIndexValid;
    clang_PrintingPolicy_dispose;
    clang_PrintingPolicy_getProperty;
    clang_PrintingPolicy_setProperty;
    clang_Range_isNull;
    clang_TParamCommandComment_getDepth;
    clang_TParamCommandComment_getIndex;
    clang_TParamCommandComment_getParamName;
    clang_TParamCommandComment_isParamPositionValid;
    clang_TargetInfo_dispose;
    clang_TargetInfo_getPointerWidth;
    clang_TargetInfo_getTriple;
    clang_TextComment_getText;
    clang_Type_getAlignOf;
    clang_Type_getCXXRefQualifier;
    clang_Type_getClassType;
    clang_Type_getModifiedType;
    clang_Type_getNamedType;
    clang_Type_getNullability;
    clang_Type_getNumObjCProtocolRefs;
    clang_Type_getNumObjCTypeArgs;
    clang_Type_getNumTemplateArguments;
    clang_Type_getObjCEncoding;
    clang_Type_getObjCObjectBaseType;
    clang_Type_getObjCProtocolDecl;
    clang_Type_getObjCTypeArg;
    clang_Type_getOffsetOf;
    clang_Type_getSizeOf;
    clang_Type_getTemplateArgumentAsType;
    clang_Type_getValueType;
    clang_Type_isTransparentTagTypedef;
    clang_Type_visitFields;
    clang_VerbatimBlockLineComment_getText;
    clang_VerbatimLineComment_getText;
    clang_VirtualFileOverlay_addFileMapping;
    clang_VirtualFileOverlay_create;
    clang_VirtualFileOverlay_dispose;
    clang_VirtualFileOverlay_setCaseSensitivity;
    clang_VirtualFileOverlay_writeToBuffer;
    clang_annotateTokens;
    clang_codeCompleteAt;
    clang_codeCompleteGetContainerKind;
    clang_codeCompleteGetContainerUSR;
    clang_codeCompleteGetContexts;
    clang_codeCompleteGetDiagnostic;
    clang_codeCompleteGetNumDiagnostics;
    clang_codeCompleteGetObjCSelector;
    clang_constructUSR_ObjCCategory;
    clang_constructUSR_ObjCClass;
    clang_constructUSR_ObjCIvar;
    clang_constructUSR_ObjCMethod;
    clang_constructUSR_ObjCProperty;
    clang_constructUSR_ObjCProtocol;
    clang_createCXCursorSet;
    clang_createIndex;
    clang_createTranslationUnit;
    clang_createTranslationUnit2;
    clang_createTranslationUnitFromSourceFile;
    clang_defaultCodeCompleteOptions;
    clang_defaultDiagnosticDisplayOptions;
    clang_defaultEditingTranslationUnitOptions;
    clang_defaultReparseOptions;
    clang_defaultSaveOptions;
    clang_disposeCXCursorSet;
    clang_disposeCXPlatformAvailability;
    clang_disposeCXTUResourceUsage;
    clang_disposeCodeCompleteResults;
    clang_disposeDiagnostic;
    clang_disposeDiagnosticSet;
    clang_disposeIndex;
    clang_disposeOverriddenCursors;
    clang_disposeSourceRangeList;
    clang_disposeString;
    clang_disposeStringSet;
    clang_disposeTokens;
    clang_disposeTranslationUnit;
    clang_enableStackTraces;
    clang_equalCursors;
    clang_equalLocations;
    clang_equalRanges;
    clang_equalTypes;
    clang_executeOnThread;
    clang_findIncludesInFile;
    clang_findIncludesInFileWithBlock;
    clang_findReferencesInFile;
    clang_findReferencesInFileWithBlock;
    clang_formatDiagnostic;
    clang_free;
    clang_getAddressSpace;
    clang_getAllSkippedRanges;
    clang_getArgType;
    clang_getArrayElementType;
    clang_getArraySize;
    clang_getBuildSessionTimestamp;
    clang_getCString;
    clang_getCXTUResourceUsage;
    clang_getCXXAccessSpecifier;
    clang_getCanonicalCursor;
    clang_getCanonicalType;
    clang_getChildDiagnostics;
    clang_getClangVersion;
    clang_getCompletionAnnotation;
    clang_getCompletionAvailability;
    clang_getCompletionBriefComment;
    clang_getCompletionChunkCompletionString;
    clang_getCompletionChunkKind;
    clang_getCompletionChunkText;
    clang_getCompletionFixIt;
    clang_getCompletionNumAnnotations;
    clang_getCompletionNumFixIts;
    clang_getCompletionParent;
    clang_getCompletionPriority;
    clang_getCursor;
    clang_getCursorAvailability;
    clang_getCursorCompletionString;
    clang_getCursorDefinition;
    clang_getCursorDisplayName;
    clang_getCursorExceptionSpecificationType;
    clang_getCursorExtent;
    clang_getCursorKind;
    clang_getCursorKindSpelling;
    clang_getCursorLanguage;
    clang_getCursorLexicalParent;
    clang_getCursorLinkage;
    clang_getCursorLocation;
    clang_getCursorPlatformAvailability;
    clang_getCursorPrettyPrinted;
    clang_getCursorPrintingPolicy;
    clang_getCursorReferenceNameRange;
    clang_getCursorReferenced;
    clang_getCursorResultType;
    clang_getCursorSemanticParent;
    clang_getCursorSpelling;
    clang_getCursorTLSKind;
    clang_getCursorType;
    clang_getCursorUSR;
    clang_getCursorVisibility;
    clang_getDeclObjCTypeEncoding;
    clang_getDefinitionSpellingAndExtent;
    clang_getDiagnostic;
    clang_getDiagnosticCategory;
    clang_getDiagnosticCategoryName;
    clang_getDiagnosticCategoryText;
    clang_getDiagnosticFixIt;
    clang_getDiagnosticInSet;
    clang_getDiagnosticLocation;
    clang_getDiagnosticNumFixIts;
    clang_getDiagnosticNumRanges;
    clang_getDiagnosticOption;
    clang_getDiagnosticRange;
    clang_getDiagnosticSetFromTU;
    clang_getDiagnosticSeverity;
    clang_getDiagnosticSpelling;
    clang_getElementType;
    clang_getEnumConstantDeclUnsignedValue;
    clang_getEnumConstantDeclValue;
    clang_getEnumDeclIntegerType;
    clang_getExceptionSpecificationType;
    clang_getExpansionLocation;
    clang_getFieldDeclBitWidth;
    clang_getFile;
    clang_getFileContents;
    clang_getFileLocation;
    clang_getFileName;
    clang_getFileTime;
    clang_getFileUniqueID;
    clang_getFunctionTypeCallingConv;
    clang_getIBOutletCollectionType;
    clang_getIncludedFile;
    clang_getInclusions;
    clang_getInstantiationLocation;
    clang_getLocation;
    clang_getLocationForOffset;
    clang_getModuleForFile;
    clang_getNullCursor;
    clang_getNullLocation;
    clang_getNullRange;
    clang_getNumArgTypes;
    clang_getNumCompletionChunks;
    clang_getNumDiagnostics;
    clang_getNumDiagnosticsInSet;
    clang_getNumElements;
    clang_getNumOverloadedDecls;
    clang_getOverloadedDecl;
    clang_getOverriddenCursors;
    clang_getPointeeType;
    clang_getPresumedLocation;
    clang_getRange;
    clang_getRangeEnd;
    clang_getRangeStart;
    clang_getRemappings;
    clang_getRemappingsFromFileList;
    clang_getResultType;
    clang_getSkippedRanges;
    clang_getSpecializedCursorTemplate;
    clang_getSpellingLocation;
    clang_getTUResourceUsageName;
    clang_getTemplateCursorKind;
    clang_getToken;
    clang_getTokenExtent;
    clang_getTokenKind;
    clang_getTokenLocation;
    clang_getTokenSpelling;
    clang_getTranslationUnitCursor;
    clang_getTranslationUnitSpelling;
    clang_getTranslationUnitTargetInfo;
    clang_getTypeDeclaration;
    clang_getTypeKindSpelling;
    clang_getTypeSpelling;
    clang_getTypedefDeclUnderlyingType;
    clang_getTypedefName;
    clang_hashCursor;
    clang_indexLoc_getCXSourceLocation;
    clang_indexLoc_getFileLocation;
    clang_indexSourceFile;
    clang_indexSourceFileFullArgv;
    clang_indexTranslationUnit;
    clang_index_getCXXClassDeclInfo;
    clang_index_getClientContainer;
    clang_index_getClientEntity;
    clang_index_getIBOutletCollectionAttrInfo;
    clang_index_getObjCCategoryDeclInfo;
    clang_index_getObjCContainerDeclInfo;
    clang_index_getObjCInterfaceDeclInfo;
    clang_index_getObjCPropertyDeclInfo;
    clang_index_getObjCProtocolRefListInfo;
    clang_index_isEntityObjCContainerKind;
    clang_index_setClientContainer;
    clang_index_setClientEntity;
    clang_install_aborting_llvm_fatal_error_handler;
    clang_isAttribute;
    clang_isConstQualifiedType;
    clang_isCursorDefinition;
    clang_isDeclaration;
    clang_isExpression;
    clang_isFileMultipleIncludeGuarded;
    clang_isFunctionTypeVariadic;
    clang_isInvalid;
    clang_isInvalidDeclaration;
    clang_isPODType;
    clang_isPreprocessing;
    clang_isReference;
    clang_isRestrictQualifiedType;
    clang_isStatement;
    clang_isTranslationUnit;
    clang_isUnexposed;
    clang_isVirtualBase;
    clang_isVolatileQualifiedType;
    clang_loadDiagnostics;
    clang_parseTranslationUnit;
    clang_parseTranslationUnit2;
    clang_parseTranslationUnit2FullArgv;
    clang_remap_dispose;
    clang_remap_getFilenames;
    clang_remap_getNumFiles;
    clang_reparseTranslationUnit;
    clang_saveTranslationUnit;
    clang_sortCodeCompletionResults;
    clang_suspendTranslationUnit;
    clang_toggleCrashRecovery;
    clang_tokenize;
    clang_uninstall_llvm_fatal_error_handler;
    clang_visitChildren;
    clang_visitChildrenWithBlock;

  local: *;
};

LLVM_16 {
  global:
    clang_getUnqualifiedType;
    clang_getNonReferenceType;
    clang_CXXMethod_isDeleted;
    clang_CXXMethod_isCopyAssignmentOperator;
    clang_CXXMethod_isMoveAssignmentOperator;
    clang_createAPISet;
    clang_disposeAPISet;
    clang_getSymbolGraphForCursor;
    clang_getSymbolGraphForUSR;
};

LLVM_17 {
  global:
    clang_CXXMethod_isExplicit;
    clang_createIndexWithOptions;
};

# Example of how to add a new symbol version entry.  If you do add a new symbol
# version, please update the example to depend on the version you added.
# LLVM_X {
# global:
#   clang_newsymbol;
# };
